Various network services such as hosting of servers and supervision of VPNs (Virtual Private Networks) of customers have been provided by providers such as ISPs (Internet Service Providers). In order to provide such services, a server system having a capacity corresponding to the number of customers is used, and constructed VPNs of customers of each provider are accommodated in a server system operated by the provider. Usually, the server system includes a plurality of server apparatuses each executing a predetermined program.
As an effective method for reducing the operation and management cost of the server system, “multi-tenant” has been known. In multi-tenant, unlike single-tenant, a plurality of networks are accommodated in one server apparatus. When a single-tenant server system is modified to a multi-tenant server system, the number of server apparatuses can be reduced.
However, a general server apparatus cannot accommodate a plurality of VPNs having the same private address. The reason is as follows. A general server apparatus has only one protocol stack concerning a routing process. When a packet is sent, the protocol stack searches a routing table and determines a network which is a destination of the packet. In the routing table, a communication interface provided for each customer is caused to correspond to an address of a network connected to each interface. However, when some addresses registered in the routing table are the same, a network whose registration order is high is always selected by searching with the address as a key. Thus, as for a plurality of networks having the same address registered in the routing table, packets are sent to only one network which is always selected therefrom.
In existing art regarding multi-tenant, a plurality of protocol stacks and a plurality of virtual execution environments for application software are prepared in a server apparatus, and a dedicated protocol stack and a dedicated execution environment are allocated to each customer's network (Japanese Laid-open Patent Publication No. 2005-100194, Japanese Laid-open Patent Publication No. 2003-167805). According to this existing art, one server apparatus is physically and virtually separated for each customer's network. Thus, a server apparatus to which this existing art is applied can accommodate a plurality of networks having the same private address.
In the case where an operation system implemented in a server apparatus has only one protocol stack, the operation system needs to be drastically modified or replaced, in order to implement multi-tenant by using the above existing art. This is because a plurality of protocol stacks have to be implemented. In addition, it is needed to incorporate a function of selecting one protocol stack from among a plurality of protocol stacks, into each of various pieces of application software (hereinafter, abbreviated as application) each using a protocol stack.